# 设定模块名称
set(TARGET utils)

# 在src目录下搜集源码文件
aux_source_directory(src SOURCE_FILES)

# 将模块打包成静态库
add_library(${TARGET}
    STATIC
        ${SOURCE_FILES}
)

# 给模块起个别名，便与其他模块引用(原名的目标依然存在)
add_library(${PROJECT_NAME}::${TARGET} ALIAS ${TARGET})

target_include_directories(${TARGET}
    PUBLIC
        include
)

# 为模块添加依赖
target_link_libraries(${TARGET}
    PRIVATE
        gperftools::tcmalloc # 内存(池)分配器
        ${PROJECT_NAME}::logger
#        yaml-cpp::yaml-cpp   # yaml文件操作库
#        Boost::format   # 格式化
#        cpuid::cpuid    # cpu信息获取库
#        ssl # 加密算法
#        PcapPlusPlus::Pcap++ # 网口信息 静态库
)

# 给模块增加预编译头文件
target_precompile_headers(${TARGET}
    PRIVATE
        ${PROJECT_INCLUDE_DIR}/pre_compiled.h
)